Method and apparatus to achieve more level thermal gradient

ABSTRACT

Achieving better uniformity of temperature on an integrated circuit while performing burn-in can result in reduced burn-in time and more uniform acceleration. One way to achieve better temperature uniformity is to control dynamic power in the core and cache by operating at different frequencies and increasing switching activity in the cache(s) during burn-in by changing operation of the cache so that during burn-in a plurality of memory locations in the cache(s) are accessed simultaneously, thereby increasing activity in the cache to achieve higher power utilization in the cache during burn-in.

BACKGROUND

1. Field of the Invention

This invention relates to manufacturing of integrated circuits and moreparticularly to burn-in.

2. Description of the Related Art

For semiconductor devices, it often takes time for a failure to manifestitself. That is, although the semiconductor device may initially passall tests, after a short time in the field the device fails. That iscommonly referred to as infant mortality. In order to detect such latentdefects, the manufacturing process typically employs an approach calledburn-in to detect these latent failures. During burn-in the device isoperated at elevated temperatures and/or voltages. By operating thedevice at an elevated temperature and/or voltage, the failure mechanismis accelerated and therefore occurs earlier in time. Tests performedafter burn-in can determine whether latent defects uncovered duringburn-in are present in the device. Burn-in time is typically measured inhours and is a function of temperature and/or voltage.

The temperature set point during burn-in testing is important becauseanything below the normal operating temperature specification, e.g., 95°C., does not achieve any acceleration. At a temperature of, e.g., 120°C., one may obtain the desired acceleration factor. At some highertemperature (dependent on package substrate and die size) the C4 bumpson the die start to crack from stress caused by thermal coefficients ofexpansion (TCE) mismatches in silicon and the package, as well aspotentially shortening the overall life of the product. At even highertemperature damage to the device itself can occur. Thus, the window ofdesired and useful temperatures is relatively small.

Today's semiconductor devices, such as high power microprocessors, havea relatively new problem: a thermal gradient that prevents testing allareas of the die at the required temperature. This gradient occursbecause the power can be concentrated in a smaller area and changes moreabruptly. That is, the surface of the die is not at a uniformtemperature. Therefore, the manufacturing process makes trade-offsbetween taking longer to burn-in the die or exceeding desiredtemperature limits.

Note that temperature gradients increase by roughly 50% each time thedie is shrunk and the power level held constant. Thus, as semiconductordevices shrink from 130 nm to 90 nm, and then to 65 nm, and 45 nm, thethermal gradient problem will continue to increase. Thus, the problem ofthermal gradients is expected to continue to increase.

There are several options for addressing the natural thermal gradient ofany high power semiconductor device. The first option is just to run thesemiconductor device much longer than is financially or logisticallypossible. A second option is to ship semiconductor devices of reducedquality by not extending the burn-in times. Obviously, that approach isgenerally not acceptable. A third option would be to increase thetemperature to accelerate the cooler areas, but that could raise thetemperature in higher power density areas beyond the safe limits andpossibly create new problems in the silicon. Thus, the existence of thethermal gradient can force a choice between a chosen temperature forburn that over-tests some areas of the die or under-tests other areas.Today, with 35° C. gradients and even higher gradients projected forsmaller geometry devices, the ability to effectively accelerate failuresfor all areas of the die is in question.

Thus, it would be desirable to provide improved burn-in forsemiconductor devices by addressing the thermal gradient issue.

SUMMARY

One aspect of this invention is directed to achieving better uniformityof temperature while performing burn-in on the semiconductor device. Oneway to achieve better temperature uniformity is to increase activity inthe cache(s) during burn-in by changing operation of the cache so thatduring burn-in a plurality of memory locations in the cache(s) areaccessed simultaneously thereby increasing activity in the cache toachieve higher power utilization in the cache during burn-in as comparedto normal operation of the semiconductor device, when, e.g., used innormal operation in a system. In an embodiment, that is accomplished byactivating a plurality of ways simultaneously to increase activity inthe cache. Another embodiment provides for accessing multiple cachelines in parallel during burn-in testing to increase activity in thecache.

In an embodiment an integrated circuit includes at least one coreregion; at least one cache memory, and a control circuit to cause aplurality of memory locations of the cache memory to be accessedsimultaneously in response to one or more control signals. In anembodiment the control circuit is operable to activate a plurality ofways simultaneously to increase activity in the cache memory duringburn-in. In an embodiment the control circuit is operable to causeaccess to multiple cache lines in parallel during burn-in testing toincrease activity in the cache memory. In an embodiment the frequenciesof the core(s) and cache(s) are independently controlled.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features, and advantages made apparent to those skilled in theart by referencing the accompanying drawings.

FIG. 1 illustrates a block diagram of a typical microprocessor.

FIG. 2 illustrates an embodiment in which multiple word lines areaccessed in parallel during burn-in to increase cache activity duringburn-in.

FIG. 3 illustrates an exemplary logical block diagram of a 16-way setassociative architecture cache adapted to have increased activity duringburn-in.

FIG. 4 illustrates an exemplary logical block diagram of a cache tagstructure that can be adapted to cause increased activity duringburn-in.

FIG. 5 illustrates an exemplary high level block diagram of a multi-coreintegrated circuit having multiple cache levels.

DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

Referring to FIG. 1, a typical microprocessor 101 is shown. As shown inFIG. 1, microprocessors are divided into two major areas: the coreregion 103 and the cache 105. The “core” includes the central processingunit and can have a high number of transistors switching at any onetime. The “cache” contains memory elements and typically has a lowpercentage of transistors active. Further, the core typically requiresfaster transistors which draw more power even in a static mode. Thecache can use transistors with a much lower leakage value. Hence, thecore will typically consume more power per area (higher power density)than the cache during normal operation and during burn-in unless stepsare taken to address the different power density differences in the coreand cache during burn-in. The different power consumption in the coreand cache areas of the processor exacerbates burn-in problems due tothermal gradients. Note that cache 105 may include multiple caches,e.g., L1, L2, and L3 caches.

One approach to dealing with the thermal gradient issues is to moreeffectively accelerate failures for all areas of the die to provide moreuniform power density in a microprocessor being subjected to burn-in.One way more uniform density can be achieved is to increase powerutilization in the cache to be closer to or approximately equal to thecore power utilization. More uniform power density means that all areasof the die are closer to each other in temperature, which means thatreduced burn-in durations can be realized while achieving the same levelof acceleration. The result of increasing temperature in the cacheduring burn-in is to accelerate the infant mortality failures in thecache that ordinary burn-in approaches may not be able to accomplish. Ithas been estimated that potential savings in reduction of burn-in timesand increased reliability can be in tens of millions of dollars inreduced capital and manufacturing expense. Note that actual burn-intimes required for any particular product will always be a function ofpower, die size, types of defects, and activation energy of defects; soexact numbers for gains based on reduced thermal gradients will vary.

Another way to decrease the thermal gradient during burn-in is tooperate the core(s) of the device at a lower frequency. That allows thestatic leakage current to become the dominant heating effect, which istheoretically more uniform than dynamic currents. That is mostly truefor the core, but lower leakage devices are used in the memory caches.Therefore, cache has a lower base level of energy to create heat thanthe core and a thermal gradient will still form across the die. Thus,one way to help ensure more uniform power utilization in various areasof the microprocessor is to have the core region 103 operate at onefrequency (f1), which is set low to minimize dynamic current, while thecache 105 operates at a maximum frequency (f2) to obtain maximum dynamiccurrent. Note that separate timing circuits may be utilized for thedifferent regions of the integrated circuit. One or more of thedifferent frequencies may be supplied from timing circuits, e.g., timingcircuit 107 or as independent clock signals supplied to the integratedcircuit. Thus, further equalization of power density can result fromindependent control of the operating frequencies of the cache and core.

An embodiment may utilize logic built-in self-test, LBIST, to apply apseudo-random set of vectors to the core area during burn-in. Oneembodiment achieves independent control of the core frequencies becausethe Logic Built-In Self Test (LBIST) engine used in the core has theability to program a divider for its shift frequency and the boundaryregister clock that operate off of the JTAG test clock frequency.Assuming self test is active during burn-in, clocking the scan chainsand the boundary registers during burn-in at a lower frequency helpsreduce dynamic power utilized in the core. At the same time, the cacheclock may be maintained at a higher frequency.

Another factor that causes a thermal gradient between the cache and thecore is that the activity factor (number of transistors switching at anyone time) is much, much lower in the cache than in the core area. Thus,in order to further increase power density in the cache, one or moreembodiments of the invention create a higher activity factor in thecache during burn-in than during normal operation. Thus, in anembodiment shown in FIG. 2, power utilization of the cache is increasedby modifying cache operation so that during burn-in multiple cache linesare accessed in parallel. Note that this approach, rather thancontrolling gradients within the core, addresses the major difference inpower density between the core and the cache in normal operationalstates.

For example, during normal operation only one word line of the cache isaccessed each clock cycle. According to the embodiment illustrated inFIG. 2, multiple word lines 205 are accessed in parallel during burn-in.Cache burn-in (CBI) word line enable logic 201 provides enables 203 forthe various word lines 205. Word line enable logic 201 may beimplemented as a shift register. The exact number of lines that areenabled may be controlled through JTAG registers. During the course ofburn-in, the value in the shift register may be shifted to selectdifferent sets of word lines to be active. Multiplexers 205 select theCBI word line enables from the shift register 201 during burn-in whencache burn-in control line (CBI) 211 is active.

In addition to controlling how many word lines are active for anyparticular read or write access, the data lines may also be controlledso that the amount of transitions created through the columns is alsocontrolled. Thus, a shift register 215 may also be loaded with dataduring burn-in from, e.g., a JTAG port. With the structure shown in FIG.2, having shift registers that are enabled during burn-in, viamultiplexers, it is possible to enable any number of rows in paralleland also to force any number of data transitions each cycle. Assume, forexample, a pattern of “AAAA” (hexadecimal) is loaded in the enableregister 201, which shifts each cycle. Then half of the rows would beenabled each cycle. If instead, the enable register is loaded with“1111” (hexadecimal), then one quarter of the rows are enabled eachcycle. Similarly, if data register 215 shifts each cycle, the number ofdata bits that change each cycle can also be controlled. In that manner,additional portions of the cache can be exercised during burn-in leadingto increased power consumption in the cache and more even power densityoverall in the microprocessor during burn-in. The flexibility to pickthe number of cache lines accessed in parallel and/or the data patternsloaded into the cache allows the cache power density to be set to moreclosely match the core power density and thus reduce or level thethermal gradients. Flexibility to set the transition density (oractivity factor) during burn-in allows more control over equalizing thethermal gradient.

Another embodiment exploits the set associative architecture of cachesin current microprocessors to increase activity in the cache duringburn-in. FIG. 3 illustrates an exemplary logical block diagram of a16-way set associative cache architecture. During burn-in the controllogic 301 is configured, e.g., from JTAG, to enter a burn-in mode. Inthat mode multiple ways are enabled for each access. For example, in anembodiment, for each write and read access, all the odd or all the evenways are turned on by the control logic 301. The restriction to odd oreven may be necessary to prevent collisions if the ways share I/O asshown in FIG. 3. In other embodiments, all the ways may be turned on,where collisions would not occur. Alternatively, similar to thestructure shown in FIG. 2, the number of ways turned on can be madeprogrammable by supplying, e.g., a register with enable bits for eachway during burn-in. The particular ways can be changed by using a shiftregister for the enables and enabling shifting. In addition, datasupplied to the cache may also be programmed for burn-in in anembodiment by using a register such as register 305 that may beprogrammed for burn-in. Other embodiments may not provide such aprogrammable register or allow the data to be supplied to the cache tobe more random.

In still another embodiment, illustrated in FIG. 4 the TAGs to the cacheare initialized such that up to 64 banks at a time are “hit”. That is,each of the banks would believe they hold a valid page for the requestand would all respond in parallel. Note that a bank is a physicalimplementation within the cache. One could architecturally design anynumber of ways per bank. Banks typically include copies of logic, tagsand cache that can easily be replicated to achieve the desired cachesize. A particular bank implementation may provide control points toenable parallelism for thermal gradient leveling. Cache lines remainintact within a bank. Typically, each bank has its own tag circuits. Inone embodiment, there are 16 ways per bank.

This approach would enable an increase in dynamic power of (the numberof banks×active ways per bank×normal dynamic power). Assume anembodiment with 64 banks, 5 W of static cache power and 10 mW of normaldynamic power. The 10 mW of normal dynamic power assumes that one way isactive in the 64 banks normally. Although that may seem like a largemultiplier, if the static power of the cache is 5 W and the dynamicpower is 10 mW, then the new power level would be approximately 5.12 Wof dynamic power (or an overall power of 10.12 W), which approaches corepower (assuming an implementation described above in which 8 ways(either odd or even) can be activated at a time in a bank. The 5.12 W isbased on 64 banks×8 active ways per bank×dynamic power of 10 mW perbank.

Note that active thermal solutions, where external cold is applied tothe integrated circuit during burn-in, can actually cause a higherthermal gradient than passive/system solutions. That is because anactive head forces cold uniformly across the die, so the edges whichtypically aren't generating any heat get additional cooling even thoughthey do not need it. However, if the frequency is lowered to minimizecore heating, the thermal solution may need to provide heat duringburn-in, instead of removing heat. Note that heat flow into the devicedoes not change the thermal gradient.

As described above, an embodiment may utilize logic built-in self-test,LBIST, to apply a pseudo-random set of vectors to the core area duringburn-in. At the same time, since the caches are not required to runthese vectors, a cache burn-in control logic (such as shown in FIG. 2 or3) can be simultaneously enabled to control burn-in. Note that it mayalso be preferable to set the boundary registers into a toggle mode togenerate energy near the edge of the die.

Referring to FIG. 5, in an exemplary embodiment, a multi-coreconfiguration includes four processor cores 502, and each of theprocessor cores includes an L1 cache as illustrated. In addition, theintegrated circuit 500 includes an L2 cache 504 and an L3 cache 506. TheL1 cache may be sufficiently exercised during burn-in by LBIST or othertest patterns so that no additional measures need be taken to increaseL1 cache activity. For the L2 and L3 caches, the operation of the cacheis modified at burn-in to increase cache activity by, e.g., accessingmultiple ways during reads and writes. Note that in addition toaccessing the data portion of the cache, the tag portion of the cachemay also be written or read. Note that multiple portions of the cachesmay be accessed simultaneously. For example, the L1, L2, and L3 cachemay all be accessed simultaneously during burn-in. Separate burn-incontrol logic may be provided for the various caches to achieve higheractivity during burn-in or the caches may share some burn-in controllogic.

The description of the invention set forth herein is illustrative, andis not intended to limit the scope of the invention as set forth in thefollowing claims. Variations and modifications of the embodimentsdisclosed herein may be made based on the description set forth herein,without departing from the scope and spirit of the invention as setforth in the following claims.

1. A method of comprising: during burn-in, causing a plurality of memorylocations in a cache of an integrated circuit to be accessedsimultaneously to achieve higher power utilization in the cache duringburn-in than during normal operation.
 2. The method as recited in claim1 further comprising: activating a plurality of ways simultaneously toincrease activity in the cache during burn-in.
 3. The method as recitedin claim 2 wherein the plurality of ways simultaneously accessed are oneof even ways and odd ways.
 4. The method as recited in claim 2 whereinaccessing is at least one of reading and writing to the plurality ofways.
 5. The method as recited in claim 1 further comprising accessingmultiple cache lines in parallel during burn-in to increase activity inthe cache.
 6. The method as recited in claim 1 wherein the integratedcircuit is a microprocessor and the method further comprises, duringburn-in, operating one or more core regions of the microprocessor at afirst frequency and operating one or more cache regions at a secondfrequency higher than the first frequency.
 7. The method as recited inclaim 1 further comprising selectively accessing a number of cache linessimultaneously during burn-in.
 8. The method as recited in claim 7wherein the number of cache lines accessed simultaneously isprogrammable.
 9. The method as recited in claim 7 further comprisingvarying the cache lines accessed during burn-in.
 10. The method asrecited in claim 7 wherein the data written to the cache during burn-inis programmable.
 11. The method as recited in claim 7 wherein the datawritten to the cache during burn-in varies during burn-in.
 12. Themethod as recited in claim 1 further comprising accessing multiplecaches on the integrated circuit simultaneously during burn-in.
 13. Amethod of making an integrated circuit comprising accessing multiplelocations in a cache simultaneously during burn-in.
 14. The method asrecited in claim 13 wherein the access is a read or a write.
 15. Anintegrated circuit made according to the method of claim
 1. 16. Anintegrated circuit comprising: at least one core region; at least onecache memory; and a control circuit to cause a plurality of memorylocations of the cache memory to be accessed simultaneously in responseto one or more control signals.
 17. The integrated circuit as recited inclaim 16 wherein the control circuit is operable to activate a pluralityof ways simultaneously to increase activity in the cache memory duringburn-in.
 18. The integrated circuit as recited in claim 17 wherein theplurality of ways accessed are one of even ways or odd ways.
 19. Theintegrated circuit as recited in claim 16 wherein the control circuit isoperable to cause access to multiple cache lines in parallel duringburn-in to increase activity in the cache memory.
 20. The integratedcircuit as recited in claim 16 wherein a number of cache lines accessedsimultaneously during burn-in testing is programmable.
 21. Theintegrated circuit as recited in claim 16 further comprising multiplelevels of cache memory including the at least one cache memory andoperation of the one cache memory and at least another cache memory ismodifiable to be accessed simultaneously to achieve a higher powerdensity in the cache memories during burn-in testing than otherwiseavailable.
 22. The integrated circuit as recited in claim 16 furthercomprising multiple cores and multiple cache memories external to thecores, the multiple cache memories configured to be simultaneouslyaccessed during burn-in.
 23. An integrated circuit comprising: a coreregion; at least one cache; and means for modifying operation of the atleast one cache to cause multiple locations in the cache to be accessedsimultaneously during burn-in.
 24. The integrated circuit as recited inclaim 23 wherein the means for modifying is coupled to activate aplurality of ways simultaneously to increase activity in the cachememory during burn-in testing.